package com.zhuiyun.pm.client.action.service;

import com.zhuiyun.pm.client.action.entity.GoodsEarnestMoneyEntity;
import com.zhuiyun.pm.client.action.entity.GoodsEntity;
import com.zhuiyun.pm.config.CommonResult;
import com.zhuiyun.pm.page.PageRequest;

import java.util.List;

/**
 * @ClassName AuctionService
 * @Description TODO 拍卖 service层接口
 * @Author 赵笛
 * @Date 2023/3/14 14:03
 **/

public interface AuctionService {
    /**
     * @Author 86182
     * @Description TODO 根据（地址）（状态）查询竞品信息列表
     * @Date 2023/3/14 14:03
     * @Return com.zhuiyun.pm.config.CommonResult
     * @param address
     * @param status
     * @param pageRequest
     */
    List<GoodsEntity> getGoodsList(String goodsName,String address, String status, PageRequest pageRequest);
    /**
     * @Author 赵笛
     * @Description TODO 根据当前登录用户id查询用户与商品的保证金信息
     * @Date 2023/3/14 20:42
     * @Return com.zhuiyun.pm.config.CommonResult
     * @param userId
     */
    CommonResult getGoodsEarnestMoneyByUserId(Integer userId,Integer goodsId);
    /**
     * @description:app查询审核状态5的goods
     * @author: dongdong
     * @date: 2023/3/16 16:19
     * @param: [status]
     * @return: java.util.List<com.zhuiyun.pm.client.action.entity.GoodsEntity>
     **/
    List<GoodsEntity> getGoodsListNotPage(String status);
    /**
     * @Author 赵笛
     * @Description TODO
     * @Date 2023/3/16 15:38
     * @Return
     * @param goodsId
     */
    CommonResult getGoodsEarnestMoneyCount(Integer goodsId);
    /**
     * @Author 梁栋
     * @Description TODO 根据用户id分页查询商品列表
     * @Date 2023/3/16 15:42
     * @Return com.zhuiyun.pm.config.CommonResult
     * @Param [java.lang.String]
     */
    Object getGoodsByUserIdLimit6(Integer userId);

    /**
     * @Author 赵笛
     * @Description TODO 根据用户id查询当前用户
     * @Date 2023/3/23 15:00
     * @Return com.zhuiyun.pm.config.CommonResult
     * @param goodsId
     */
    CommonResult getGoodsById(Integer goodsId);



    List<GoodsEntity> getGoodsListType(String auctionType);

    /**
     * @Author 赵笛
     * @Description TODO 生成当前用户的缴纳保证金状态
     * @Date 2023/3/27 18:52
     * @Return com.zhuiyun.pm.config.CommonResult
     * @param goodsEarnestMoneyEntity
     */
    CommonResult generateGoodsEarnestMoney(GoodsEarnestMoneyEntity goodsEarnestMoneyEntity);

    /**
     * @Author 赵笛
     * @Description TODO 修改保证金状态
     * @Date 2023/3/28 11:24
     * @Return com.zhuiyun.pm.config.CommonResult
     * @param goodsEarnestMoneyEntity
     */
    CommonResult updateEarnestMoneyStatus(GoodsEarnestMoneyEntity goodsEarnestMoneyEntity);

    /**
     * @Author 赵笛
     * @Description TODO 根据当前登录用户（卖家）和审核状态查询竞品列表
     * @Date 2023/3/29 19:08
     * @Return com.zhuiyun.pm.config.CommonResult
     * @param sellerId
     * @param checkStatus
     * @param goodsName
     */
    CommonResult getGoodsListBySellerIdAndStatus(Integer sellerId, Integer checkStatus, String goodsName);
    /**
     * @Author 赵笛
     * @Description TODO 根据id删除竞品
     * @Date 2023/3/30 16:50
     * @Return com.zhuiyun.pm.config.CommonResult
     * @param goodsId
     */
    CommonResult deleteGoodsById(Integer goodsId);
}
